home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Source / GNU / cc / machopic.h < prev    next >
C/C++ Source or Header  |  1994-03-09  |  2KB  |  62 lines

  1. /* NeXTSTEP mach-o pic support functions.
  2.    Copyright (C) 1992, 1994 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU CC.
  5.  
  6. GNU CC is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GNU CC is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU CC; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. #ifdef MACHO_PIC
  21. #ifndef _MACHOPIC_H
  22. #define _MACHOPIC_H
  23.  
  24. enum machopic_addr_class {
  25.   MACHOPIC_UNDEFINED,
  26.   MACHOPIC_DEFINED_DATA,
  27.   MACHOPIC_UNDEFINED_DATA,
  28.   MACHOPIC_DEFINED_FUNCTION,
  29.   MACHOPIC_UNDEFINED_FUNCTION,
  30. };
  31.  
  32. #ifndef MACHOPIC_PURE
  33. #define MACHOPIC_PURE          (flag_pic == 2)
  34. #define MACHOPIC_INDIRECT      (flag_pic)
  35. #define MACHOPIC_JUST_INDIRECT (flag_pic == 1)
  36. #endif
  37.  
  38. #ifdef MACHOPIC_OPERAND_P
  39. #undef MACHOPIC_OPERAND_P
  40. #endif
  41.  
  42. #define MACHOPIC_OPERAND_P(X) machopic_operand_p (X)
  43.  
  44. int machopic_operand_p PROTO ((rtx));
  45. enum machopic_addr_class machopic_classify_ident PROTO ((tree));
  46. enum machopic_addr_class machopic_classify_name PROTO ((char*));
  47. void machopic_define_ident PROTO ((tree));
  48. void machopic_define_name PROTO ((char*));
  49. int machopic_name_defined_p PROTO ((char*));
  50. int machopic_ident_defined_p PROTO ((tree));
  51.  
  52. char* machopic_function_base_name ();
  53. char* machopic_non_lazy_ptr_name PROTO ((char*));
  54. char* machopic_stub_name PROTO((char*));
  55.  
  56. rtx machopic_indirect_data_reference PROTO((rtx, rtx));
  57. rtx machopic_indirect_call_target PROTO ((rtx));
  58. rtx machopic_legitimize_pic_address PROTO ((rtx, enum machine_mode, rtx));
  59.  
  60. #endif
  61. #endif
  62.